package com.gitee.wsl.struct.tree.action

import com.gitee.wsl.struct.tree.TreeNode

interface Action<T>

sealed interface TreeAction: Action<TreeNode> {

    class Addition(val node:TreeNode,val parent:TreeNode,val pos:Int): TreeAction

    class Delete(val node:TreeNode): TreeAction

    class Insert(val node:TreeNode,val parent:TreeNode,val pos:Int): TreeAction

    class Move(val node:TreeNode,val parent:TreeNode,val pos:Int): TreeAction

}